---
title: "Как выбрать БД"
date: 2023-04-06T00:58:08+03:00
description: "Заметка о выборе БД"
tags: ["db"]
ShowToc: true
ShowBreadCrumbs: true
draft: false
---

## Общие требования

Базовые требования:

- вендор лок
- логическая модель
- кейсы работы с БД
- нефункциональных требований (нагрузка, надежность/консистентность/доступность и пр.)

Детальные требования:

- объем хранимых данных
- сложность структур хранимых данных (и их природа – графы/документы/структурированные/не структурированные)
- требования по производительности, в частности оптимизация под read/write или под сложные запросы (OLAP)
- стоимость (лицензии, pay as u go, железо, поддержка)
- возможности масштабирования, в частности поддержка горизонтального или вертикального
- встроенные механизмы безопасности
- гарантии согласованности данных
- гарантии доступности данных
- интеграции и совместимость с существующими системами (наличие коннекторов, например)
- развитость сообщества (как мне этого не хватало при работе с Teradata)
- комплаенс (из коробки)

Дополнительные требования:

- Опыт работы с бд

## Требования к БД от Единого реестра

![Требования к БД от Единого реестра](/img/db/db-selection/db-requirements.jpg)

## Алгоритм выбора БД + сравнение

![Алгоритм выбора БД](/img/db/db-selection/db-selection.jpg)

Ресурсы:

1. [Книга с кабанчиком](https://habr.com/ru/companies/piter/articles/352742/)
2. [Data Engineering](https://ivan-shamaev.ru/data-engineering-etl-pipeline-data-warehouse-datalake/)
3. [Про Discord](https://habr.com/ru/post/722124/)
4. [Рекомендации от Единого реестра](https://ru-ikt.ru/metodicheskiye_rekomendatsi/)